﻿using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace pyTivoMetadataManager
{
    public abstract class RatingGlyph : Control
    {
        /// <summary>
        /// Draws an empty unselected glyph.
        /// </summary>
        /// <param name="g">Graphics object to draw to.</param>
        /// <param name="rect">Rectangle to draw as bounds for the glyph</param>
        public abstract void DrawEmptyGlyph(Graphics g, Rectangle rect);
        /// <summary>
        /// Draws a glyph being hovered over.
        /// </summary>
        /// <param name="g">Graphics object to draw to.</param>
        /// <param name="rect">Rectangle to draw as bounds for the glyph</param>
        public abstract void DrawHoverGlyph(Graphics g, Rectangle rect);
        /// <summary>
        /// Draws a selected glyph.
        /// </summary>
        /// <param name="g">Graphics object to draw to.</param>
        /// <param name="rect">Rectangle to draw as bounds for the glyph</param>
        public abstract void DrawSelectedGlyph(Graphics g, Rectangle rect);
        /// <summary>
        /// Draws a half selected glyph.
        /// </summary>
        /// <param name="g">Graphics object to draw to.</param>
        /// <param name="rect">Rectangle to draw as bounds for the glyph</param>
        public abstract void DrawHalfSelectedGlyph(Graphics g, Rectangle rect);
    }
}
